1. Field of the Invention
The present invention relates to technology for processing data.
2. Description of the Related Art
As the Internet's popularity grows, more businesses are establishing a presence on the Internet. These businesses typically set up web sites that run one or more web applications. One disadvantage of doing business on the Internet is that if the web site goes down, becomes unresponsive or otherwise is not properly serving customers, the business is losing potential sales and/or customers. Similar issues exist with Intranets and Extranets. Thus, there is a need to monitor live (web and/or non-web) applications and web sites to make sure that they are running properly.
When an application is performing poorly or improperly, the developer or administrator usually attempts to debug the software to figure out which code is causing the performance issues so that code can be fixed. While it is usually easy to detect when an application is performing poorly or improperly, it is often very difficult to determine which portion of the software is responsible for the poor performance.
Application performance analysis tools are popular tools are used to debug software and to analyze an application's run time execution. Many application performance analysis tools provide time series data regarding measurements made about the various components of a system (e.g., application) being monitored. Time series data regarding measurements is time sensitive data that changes over time and includes multiple samples taken over time. Typical systems will acquire timer series data about various metrics. A metric is a measurement of an activity. Examples of metrics includes (but are not limited to) method timers, remote invocation method timers, thread counters, network bandwidth, servlet timers, Java Server Pages timers, systems logs, file system input and output bandwidth meters, available and used memory, Enterprise JavaBean timers, and other measurements of other activities.
A typical deployed application performance analysis tools may continuously acquire data for several thousand metrics. In some cases, the application performance analysis tool may not be able to store all of that data because it cannot write the data fast enough or there is not enough room to store the data When data is discarded, the ability to debug an application is degraded. Thus, there is a need to more efficiently maintain more data.